//
// Created by root on 2/18/18.
//

#ifndef FUNNY_TRANSLATOR_STACK_H
#define FUNNY_TRANSLATOR_STACK_H

typedef struct _StackNode {
    void *element;
    struct _StackNode *next;
} StackNode;

typedef StackNode Stack;

StackNode *alloc_stack_node();

Stack *init_stack();

int is_stack_empty(Stack *stack);

void push (Stack **stack, void *element);

void *pop(Stack **stack);

#endif //FUNNY_TRANSLATOR_STACK_H
